// 这是入口文件
import Vue from 'vue'

// 导入App的根组件
import app from './App.vue'

// 1.1 导入路由的包
import VueRouter from 'vue-router'
// 1.2 安装路由
Vue.use(VueRouter)
// 1.3 导入组件的 router.js 路由模块
import router from './router.js'

// 2.1 导入 vue-resource
import VueResource from 'vue-resource'
// 2.2 安装 vue-resource
Vue.use(VueResource)
// 设置请求的根路径
Vue.http.options.root = 'http://www.duli1126.cn';
// 全局设置 post 时候表单数据格式组织形式 application/x-www-form-urlencoded
Vue.http.options.emulateJSON = true;
Vue.http.options.emulateHTTP = true;


// 导入格式化时间的插件 cnpm i moment -S
import moment from 'moment'
// 定义全局过滤器（时间格式化）
Vue.filter('dataFormat', function(dataStr,pattern = 'YYYY-MM-DD HH:mm:ss'){
    return moment(dataStr).utc().zone(+0).format(pattern)
})

// 导入Bootstrap和BootstrapVue css文件
import BootstrapVue from 'bootstrap-vue'
Vue.use(BootstrapVue)
import 'bootstrap/dist/css/bootstrap.css'
import 'bootstrap-vue/dist/bootstrap-vue.css'

// 导入iview组件和css文件
import ViewUI from 'view-design';
import 'view-design/dist/styles/iview.css';
Vue.use(ViewUI);


// 导入 MUI 的样式
import './lib/mui/css/mui.min.css'
import './lib/mui/css/icons-extra.css'

// 导入Vue-Video-Player视频播放插件
import VideoPlayer from 'vue-video-player'
import 'vue-video-player/src/custom-theme.css'
import 'video.js/dist/video-js.css'
Vue.use(VideoPlayer)

// 如果要使用 Mint-ui 的图片懒加载，需要全部导入 Mint-ui
import MintUI from 'mint-ui'
import 'mint-ui/lib/style.css'
Vue.use(MintUI)

import Antd from 'ant-design-vue';
import 'ant-design-vue/dist/antd.css';
Vue.config.productionTip = false;
Vue.use(Antd);

// 注册 vuex 
import Vuex from 'vuex'
Vue.use(Vuex)

var sotre = new Vuex.Store({
    state:{
        currentUser:null,
        isLogin:false,
        // token:"",
    },
    mutations:{
        // 更改用户状态信息
        userStatus(state,user){
            if(user){
                state.currentUser = user;
                state.isLogin = true
            }else if(user == null){
                //登出时，清空sessionStorage的东西
                sessionStorage.setItem("uName",null);
                // sessionStorage.setItem("token","");
                state.currentUser = null;
                state.isLogin = false;
                // state.token = "";
            }
        }
    },
    getters:{
        currentUser(state){
            return state.currentUser;
        },
        isLogin(state){
            return state.isLogin;
        }
    },
    actions:{
        setUser({commit},user){
            commit("userStatus",user);
        }
    }
})

var vm = new Vue({
    el:'#app',
    render:c => c(app),
    router,  // 1.4挂载路由对象到 VM 实例上
})


